package cn.cailin.day06.demo13Lambda;

import java.util.Arrays;
import java.util.Comparator;

/*
    Lambda表达式有参数有返回值练习
    需求
        使用数组存储多个Person对象
        对数组中的Person对象使用Arrays和sort方法通过年龄升序排序
 */
public class Demo01Arrays {
    public static void main(String[] args) {
        //使用数组存储多个Person对象
        Person[] arr={
                new Person("刘诗诗",18),
                new Person("迪丽热巴",20),
                new Person("古力娜扎",19)

        };

        //对数组中的Person对象使用Arrays的sort方法通过年龄进行升序（前边-后边）排序
        /*Arrays.sort(arr, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                return o1.getAge()-o2.getAge();
            }
        });
*/
        //使用Lambda表达式，简化匿名内部类
        // Arrays.sort(arr,(Person o1,Person o2)->{return o1.getAge()- o2.getAge();});


        //简化Lambda代码
        Arrays.sort(arr,((o1, o2) -> o1.getAge()- o2.getAge()));

        //遍历数组
        for(Person p:arr){
            System.out.println(p);
        }
    }
}
